package com.css.fxfzysx.modules.lifeline.repository;

import com.css.fxfzysx.modules.lifeline.entity.*;
import com.css.fxfzysx.modules.lifeline.entity.newEntity.SmxRoadEntity;
import com.css.fxfzysx.modules.lifeline.entity.newEntity.SmxVersionEntity;
import com.css.fxfzysx.modules.lifeline.param.RegionParam;
import com.css.fxfzysx.modules.lifeline.vo.QueryParamsVo;

import java.util.List;
import java.util.Map;

public interface LifelineRepository {
    boolean saveDxPipeNetwork(DxPipeNetworkEntity dxPipeNetworkEntity);

    boolean saveLifelineAttachmentRecord(LifelineAttachmentRecordEntity lifelineAttachmentRecord);

    boolean saveWaterWork(WaterWorksEntity waterWorksEntity);

    boolean savePool(PoolEntity poolEntity);

    boolean saveAirReceiver(AirReceiverEntity airReceiverEntity);

    boolean saveBridgePoint(BridgeEntity bridgeEntity);

    boolean saveBridgeLine(BridgeEntity bridgeEntity);

    boolean saveRoad(SmxRoadEntity roadEntity);

    boolean saveTransformerSubstation(TransformerSubstationEntity transformerSubstationEntity);

    boolean saveOverheadLine(OverheadLineEntity overheadLineEntity);

    boolean saveCableRoute(CableRouteEntity cableRouteEntity);

    boolean saveImportantPowerhouse(ImportantPowerhouseEntity importantPowerhouseEntity);

    boolean saveCommIndoorEquipment(CommIndoorEquipmentEntity commIndoorEquipment);

    boolean saveTvTower(TvTowerEntity tvTowerEntity);

    Map<String, Object> page(QueryParamsVo queryParamsVo, int curPage, int pageSize);

    Map findById(String id, String type);

    Boolean update(Map<String, Object> map);

    boolean delete(String id, String type);

    boolean saveMajorProject(MajorProjectEntity majorProjectEntity);

    int getPipeNetworkDataByProvince(String province);

    int getWaterworksDataByProvince(String province);

    int getPoolDataByProvince(String province);

    int getAirReceiverDataByProvince(String province);

    int getBridgeDataByProvince(String province);

    int getRoadDataByProvince(String province);

    int getTransformerSubstationDataByProvince(String province);

    int getOverheadLineDataByProvince(String province);

    int getCableRouteDataByProvince(String province);

    int getImportantPowerhouseDataByProvince(String province);

    int getCommIndoorEquipmentDataByProvince(String province);

    int getTvTowerDataByProvince(String province);


    Map bridgeFindById(String id, String flag);

    boolean bridgeDelete(String id, String flag);

    String getCode(Integer type);

    List<SmxVersionEntity> getByRegionAndUserAndType(RegionParam param, String userId,String fileName);

    void deleteOldVersionData(String versionId, Integer type);
}
